package com.jf.cloud.service.sysmanager.dao;

import java.util.List;
import java.util.Map;

import com.jf.cloud.service.sysmanager.common.base.IBaseService;
import com.jf.cloud.service.sysmanager.entity.SysMenu;
import com.jf.cloud.service.sysmanager.entity.SysStaff;

/**
 * <p>
 * 菜单 服务类
 * </p>
 *
 * @author LangK
 * @since 2017-12-04
 */
public interface ISysMenuService extends IBaseService<SysMenu, Long> {
	
	/**
	 * 获取菜单列表
	 * 
	 * @author 朱建文 创建时间：2017年12月5日 下午6:40:10
	 */
	List<SysMenu> findMenuList();

	/**
	 * 获取树形菜单
	 * 
	 * @author 朱建文 创建时间：2017年12月5日 下午6:39:51
	 */
	public  List<Map<String, Object>> getMenuListByTree();
	
	/**
	 * 
	 * 
	 * @author 朱建文 创建时间：2017年12月5日 下午6:39:29
	 */
	public SysMenu findMenuByRightKey(String rightKey);
	
	/**
	 * 返回一级菜单列表,供select框用
	 * 
	 * @author 朱建文 创建时间：2017年12月5日 下午6:39:21
	 */
	public List<Map<String, Object>> getSelectListBy1Level() throws Exception;
	
	/**
	 * 数据组成下拉框
	 * 
	 * @author 朱建文 创建时间：2017年12月5日 下午6:39:08
	 */
	public List<Map<String, Object>> getSelectList(List<SysMenu> findList) throws Exception;

	/**
	 * 根据上级菜单ID查询子菜单或子按钮
	 * 
	 * @author 朱建文 创建时间：2017年12月5日 下午6:38:55
	 */
	public List<SysMenu> getBelongList(Long rowId);
	
	/**
	 * 修改菜单
	 * 
	 * @author 朱建文 创建时间：2017年12月5日 下午6:38:43
	 */
	public void updateSysmenu(SysMenu sysMenu, SysStaff currUser) throws Exception;
	
	/**
	 * 查询某菜单(按钮添加的时候)
	 * 
	 * @author 朱建文 创建时间：2017年12月5日 下午6:38:34
	 */
	public SysMenu findSysmenu(Long rowId)throws Exception;
	
	/**
	 * 添加菜单
	 * 
	 * @author 朱建文 创建时间：2017年12月5日 下午6:38:13
	 */
	public Boolean saveSysmenu(SysMenu sysMenu, SysStaff currUser) throws Exception;
	
	/**
	 * 删除菜单
	 * 
	 * @author 朱建文 创建时间：2017年12月5日 下午6:37:49
	 */
	public Boolean deleteSysmenu(Long rowId, SysStaff currUser)throws Exception;
}
